﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Cotizav.Presentacion.WinForms.Cotizacion.Cotizacion.Condicion
{
    public partial class CotizacionCondicion_Modificar : Form
    {
        private Entidades.CotizacionCondicion resultado;

        public Entidades.CotizacionCondicion Resultado
        {
            get { return resultado; }
            set { resultado = value; }
        }

        public CotizacionCondicion_Modificar()
        {
            InitializeComponent();
        }

        public CotizacionCondicion_Modificar(Entidades.CotizacionCondicion selCotiCondicion) : this()
        {
            // TODO: Complete member initialization
            this.resultado = selCotiCondicion;
        }

        private void CotizacionCondicion_Modificar_Load(object sender, EventArgs e)
        {
            LoadComboTipoCondicion();

            if (resultado != null)
	        {
                cmbTipoCondicion.SelectedIndex = cmbTipoCondicion.Items.IndexOf(cmbTipoCondicion.Items.Cast<Entidades.TipoCondicion>().First(x => x.IdTipoCondicion == resultado.IdTipoCondicion));
                txtCondicionDescripcion.Text = resultado.Descripcion;
	        }
        }

        private void LoadComboTipoCondicion()
        {
            LogicaNegocio.TipoCondicionBLL tipoCondicionBLL = new LogicaNegocio.TipoCondicionBLL();
            cmbTipoCondicion.DataSource = tipoCondicionBLL.Listar();
            cmbTipoCondicion.ValueMember = "IdTipoCondicion";
            cmbTipoCondicion.DisplayMember = "Descripcion";
            cmbTipoCondicion.SelectedIndex = -1;
        }

        private void btnAceptar_Click(object sender, EventArgs e)
        {
            if (cmbTipoCondicion.SelectedIndex >= 0)
            {
                if (!string.IsNullOrWhiteSpace(txtCondicionDescripcion.Text))
                {
                    resultado.IdTipoCondicion = int.Parse(cmbTipoCondicion.SelectedValue.ToString());
                    resultado.TipoCondicion = (cmbTipoCondicion.SelectedItem as Entidades.TipoCondicion).Descripcion;
                    resultado.Descripcion = txtCondicionDescripcion.Text.Trim();
                }
                else
                {
                    MessageBox.Show("La descripción se encuentra vacía.\nNo se ha efectuado ningún cambio.", "Cotizav", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    resultado = null;
                }
            }
            else
            {
                MessageBox.Show("El tipo de la condición se encuentra vacío.\nNo se ha efectuado ningún cambio.", "Cotizav", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                resultado = null;
            }
        }
    }
}
